/**
 * 指令
 * @param Vue
 */

export default function install(Vue) {
  // 注册 (指令函数)
  Vue.directive('my-directive', {
    bind: function () {},
    inserted: function () {},
    update: function () {},
    componentUpdated: function () {},
    unbind: function () {}
  })

  /**
   * 基于element
   * 用于处理form验证
   * 针对自定义样式（类似上传图片）无法验证非空
   */
  Vue.directive('focus', {
    // 当被绑定的元素插入到 DOM 中时……
    inserted: function (el, binding, vnode) {
      // 聚焦元素
      vnode.context.$watch(binding.expression, function () {
        el.blur()
      }, {
        deep: true
      })
    }
  })
}
